package com.zkyc.framework.common.pojo;

import java.util.Date;
import java.io.Serializable;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

/**
 * (Pi)实体类
 *
 * @author libingchuan
 * @since 2022-06-01 15:43:04
 */
@TableName("web_pi")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Pi implements Serializable {
    private static final long serialVersionUID = 640967671099320312L;
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 工号
     */
    private String userCode;
    /**
     * pi信息
     */
    private String piInformation;

    @TableField(exist = false)
    private JSONArray piInformationJSONArray;
    /**
     * 是否验证过 0未验证不展示 1已验证
     */
    private Integer isVerified;

    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date gmtCreated;

    @Length(message = "名称不能超过个 {max} 字符", max = 10)
    private String name;

    @TableField(exist = false)
    private Integer organizationId;

    @TableField(exist = false)
    private String organization;

    @Length(message = "职位不能超过个 {max} 字符", max = 50)
    private String position;

    private String createUserName;

    private String photo;

    private String introduce;

    private String organizationOne;

    private String organizationTwo;

    /**
     * 逻辑删除标志(0、未删除 1、已删除 )
     */
    @TableLogic //逻辑删除注解
    @TableField(fill = FieldFill.INSERT)
    private Integer isDeleted;

    private String websiteId;

    @TableField(exist = false)
    private String rejectReason;
}

